function gcd(a,b:int64):int64;
begin
if a<b then swap(a,b);
while b>0 do begin
      a:=a mod b;
      swap(a,b);
end;
result:=a;
end;